Alle Kanäle des Service Centers

Anfragen

Der Vergleich zeigt die monatlichen Anfragezahlen des Jahres.

cache_rdb <- tab_rdb %>% 
  filter(abrufart != "Client", EVAS1 != "A") %>% 
  group_by(monat) %>%
  summarise(erledigt = sum(abrufe))

cache_bdb <- tab_bdb %>% 
  filter(abrufart != "Client" & laender != "99") %>% 
  group_by(monat) %>%
  summarise(offen = sum(abrufe))

cache_ldb <- tab_ldb %>% 
  filter(abrufart != "Client") %>% 
  group_by(monat) %>%
  summarise(insgesamt = sum(abrufe))

cache_join <- left_join(cache_ldb, cache_rdb, by = "monat") %>%
  left_join(., cache_bdb, by = "monat")

cache_join %>% gather("Datenbank", "Anzahl", -monat) %>% 
  mutate(Datenbank = fct_relevel(Datenbank, c("insgesamt", "erledigt", "offen"))) %>% 
  hchart(type = "column", hcaes(x = monat, y = Anzahl, group = Datenbank))%>%
  hc_xAxis(title = list(text = "Monat")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Anfragen")) %>%
  hc_tooltip(crosshairs = TRUE, borderColor = "#446e9b", shared = TRUE, borderWidth = 2, borderRadius = 20, hideDelay = 1000) %>%
  #Anpassung des Highcharts-Export-Buttons, der Funktionen und der Bezeichungen
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Tagesintensität

Der Vergleich zeigt die arbeitstäglichen Anfrageaktivitäten im Service Center. An den Wochenenden verzeichnen alle Werte geringe Aktivitäten, daher werden diese ausgeblendet.

begriffe_rdb$jmt <- floor_date(begriffe_rdb$Zeitpunkt, unit = "day")
jmt_rdb <- begriffe_rdb %>% 
  filter(BNO_Art == 3 & year(Zeitpunkt)== 2018) %>% 
  select(ID, jmt) %>% 
  group_by(jmt) %>% 
  summarise(erledigt = n_distinct(ID))

begriffe_bdb$jmt <- floor_date(begriffe_bdb$Zeitpunkt, unit = "day")
jmt_bdb <- begriffe_bdb %>% 
  filter(BNO_Art == 3 & year(Zeitpunkt)== 2018) %>% 
  select(ID, jmt) %>% 
  group_by(jmt) %>% 
  summarise(offen = n_distinct(ID))

begriffe_ldb$jmt <- floor_date(begriffe_ldb$Zeitpunkt, unit = "day")
jmt_ldb <- begriffe_ldb %>% 
  filter(BNO_Art == 3 & year(Zeitpunkt)== 2018) %>% 
  select(ID, jmt) %>% 
  group_by(jmt) %>% 
  summarise(insgesamt = n_distinct(ID))


jmt_join <- left_join(jmt_rdb, jmt_bdb, by = "jmt") %>%
  left_join(., jmt_ldb, by = "jmt")

jmt_join %>% gather("Datenbank", "Anzahl", -jmt) %>%  
  mutate(arbeitstag = wday(jmt)) %>% #Identifikation der Wochentage
  filter(arbeitstag %in% c(2:6)) %>% #Ausfiltern der Wochenenden (=1 und 7) zur Glättung der Zeitreihe
  mutate(jmt = datetime_to_timestamp(lubridate::ymd(jmt))) %>% #Zeit-Format nötig für highcharts 
  mutate(Datenbank = fct_relevel(Datenbank, c("insgesamt", "erledigt", "offen"))) %>% 
  hchart(type = "line", hcaes(x = jmt, y = Anzahl, group = Datenbank))%>%
  hc_xAxis(type = "datetime", dateTimeLabelFormats = list(jmt = '%d %b'), 
           title = list(text = "Arbeitstage im Jahr <br> <b>nach Anfragestatus:</b>")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Anfragen")) %>%
  hc_tooltip(crosshairs = TRUE, borderColor = "#446e9b", shared = TRUE, borderWidth = 2, borderRadius = 20, hideDelay = 1000, sort = TRUE) %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Regionaldatenbank Deutschland

Tabellenabrufe insgesamt

Anzahl der Tabellenabrufe pro Monat nach EVAS-1-Steller und Abrufart

Diagramm

Diagrammansicht

aggregate_tab <- tab_rdb %>% 
  #Ohne Abrufart "Client" und EVAS "A" (themenübergreifende Tabellen des Regionalatlas)
  filter(abrufart != "Client", EVAS1 != "A") %>% 
  #Abrufart umsortieren, damit die höchsten Zahlen links im Diagramm stehen
  mutate(abrufart = fct_relevel(abrufart, c("Online", "Webservice", "Download Area", "Batch"))) %>%
  arrange(abrufart) %>% 
  #Gruppieren zur Summierung der einzelnen Ausprägungskombinationen
  group_by(monat, EVAS1, EVAS1_TXT, abrufart) %>%
  #Summierung der einzelnen Ausprägungskombinationen
  summarise(anzahl = sum(abrufe)) %>% 
  #Gruppierung des Tibbles aufheben
  ungroup()

aggregate_tab %>% 
    ggplot(aes(monat, anzahl, fill = EVAS1_TXT)) +
      geom_bar(stat="identity", width = 0.5) + 
      facet_grid(cols = vars(abrufart)) +
      theme(legend.position="bottom", 
            legend.title = element_blank(), 
            plot.background = element_rect(fill="#FFFFFF"), 
            legend.background = element_rect(fill="#FFFFFF")) +
      guides(fill=guide_legend(ncol=3)) +
      labs(x = "Monat", y = "Anzahl der Datenabrufe") + 
      scale_fill_brewer(palette = "Paired")

Tabelle

Tabellenansicht

aggregate_tab %>% 
  datatable(filter = "top",
            rownames = FALSE, 
            extensions = "Buttons",
            options = list(pageLength = 12, 
                           dom = "Bftip",
                           initComplete = JS(
                            "function(settings, json) {",
                            "$(this.api().table().header()).css({'background-color': '#446e9b', 'color':       '#fff'});",
                            "}"),
                           buttons = list("copy", "print", 
                                          list(extend = "collection",
                                               buttons = c("csv", "excel"),
                                               text = "Download"))))  %>%
  formatRound("anzahl", digits = 0, interval = 3, mark = ".")#Defintion von NKS und Tausender-Trennzeichen

TOP-10-Fachthemen

Die am häufigsten angefragten Fachthemen.

tab_rdb %>% 
  #Ohne Abrufart "Client" und EVAS "A" (themenübergreifende Tabellen des Regionalatlas)
  filter(abrufart != "Client", EVAS1 != "A") %>% 
  select(tabname, abrufe) %>% 
  mutate(tabname_kurz = str_sub(tabname, 1, 11)) %>% #Tabellencode thematisch kürzen
  group_by(tabname_kurz) %>%
  summarise(Anzahl = sum(abrufe)) %>% 
  arrange(desc(Anzahl)) %>% 
  top_n(12) %>% 
  hchart(type = "bar", hcaes(x = tabname_kurz, y = Anzahl))%>%
  hc_xAxis(title = list(text = "Tabellencode")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Abrufe")) %>%
  hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Bottom-12-Tabellen

Die am seltensten abgerufenen Tabellen unabhängig von der Zugangsart.

tab_rdb %>% 
  #Ohne Abrufart "Client" und EVAS "A" (themenübergreifende Tabellen des Regionalatlas)
  filter(abrufart != "Client", EVAS1 != "A", !str_detect(tabname, "TMP")) %>% #TMP-Tabellen rausfiltern
  select(tabname, abrufe) %>% 
  mutate(tabname_kurz = str_sub(tabname, 1, 11)) %>% #Tabellencode thematisch kürzen
  group_by(tabname_kurz) %>%
  summarise(Anzahl = sum(abrufe)) %>% 
  arrange(Anzahl) %>% 
  top_n(-12) %>% #mit - werden die letzten 12 gewählt
  hchart(type = "bar", hcaes(x = tabname_kurz, y = Anzahl))%>%
  hc_xAxis(title = list(text = "Tabellencode")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Abrufe")) %>%
  hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Nutzer nach Werteabrufen

Anzahl der Online-Nutzer, die entweder einen Werteabruf vorgenommen haben, oder die nur anderweitig recherchiert haben.

ben_rdb %>% 
  mutate(zeitstempel = datetime_to_timestamp(lubridate::ymd(datum))) %>% #Zeit-Format nötig für highcharts 
  select(kundentyp, abrufart, werteabruf, zeitstempel, abrufe) %>% 
  filter(kundentyp == "Gast" & abrufart == "Online") %>% 
  group_by(werteabruf, zeitstempel) %>% 
  summarise(anzahl = sum(abrufe)) %>% 
  
  hchart(type = "line", hcaes(x = zeitstempel, y = anzahl, group = werteabruf))%>%
  hc_xAxis(type = "datetime", dateTimeLabelFormats = list(zeitstempel = '%d %b'), 
           title = list(text = "Tage im Jahr <br> <b>mit Werteabruf:</b>")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Besuche")) %>%
  hc_tooltip(crosshairs = TRUE, borderColor = "#446e9b", shared = TRUE, borderWidth = 2, borderRadius = 20, hideDelay = 1000, sort = TRUE) %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Nutzer nach Nutzungsart

Anzahl der Nutzer pro Monat nach Nutzerart und Abrufart

Diagramm

Diagrammansicht

aggregate_tab <- ben_rdb %>% 
  select(monat, kundentyp, abrufart, abrufe) %>%
  filter((kundentyp == "Gast" | kundentyp == "Registriert" | kundentyp == "Interner") & (abrufart == "Online" | abrufart == "Webservice" | abrufart == "Download Area" | abrufart == "Batch")) %>% 
  #Abrufart umsortieren, damit die höchsten Zahlen links im Diagramm stehen
  mutate(abrufart = fct_relevel(abrufart, c("Online", "Webservice", "Download Area", "Batch"))) %>%
  mutate(kundentyp = fct_relevel(kundentyp, c("Gast", "Registriert", "Interner"))) %>%
  arrange(abrufart, kundentyp) %>% 
  #Gruppieren zur Summierung der einzelnen Ausprägungskombinationen (Tagesdimension entfernen)
  group_by(monat, kundentyp, abrufart) %>%
  #Summierung der einzelnen Ausprägungskombinationen
  summarise(anzahl = sum(abrufe)) %>% 
  #Gruppierung des Tibbles aufheben
  ungroup()

aggregate_tab %>% 
    ggplot(aes(monat, anzahl, fill = kundentyp)) +
      geom_bar(stat="identity", width = 0.5) + 
      facet_grid(. ~ abrufart) +
      theme(legend.position="bottom", legend.title = element_blank()) +
      labs(x = "Monat", y = "Anzahl der Nutzer") + 
      #Farbwerte aus Colorbrewer Stil "Paired", analog zu oben
      scale_fill_brewer(palette = "Paired")

Tabelle

Tabellenansicht

aggregate_tab %>% 
  datatable(filter = "top",
            rownames = FALSE, 
            extensions = "Buttons",
            options = list(pageLength = 12, 
                           dom = "Bftip",
                           initComplete = JS(
                            "function(settings, json) {",
                            "$(this.api().table().header()).css({'background-color': '#446e9b', 'color':       '#fff'});",
                            "}"),
                           buttons = list("copy", "print", 
                                          list(extend = "collection",
                                               buttons = c("csv", "excel"),
                                               text = "Download"))))  %>%
  formatRound("anzahl", digits = 0, interval = 3, mark = ".")

Nutzer nach Kategorie

Registrierte Nutzer können sich im Zuge der Registrierung einer Nutzerkategorie zuordnen. Dementsprechend gehen Gastnutzer nicht in die Anzahl ein.

nutzer_rdb %>% 
  arrange(Anzahl) %>% 
  hchart(type = "pie", hcaes(x = Nutzerkategorie, y = Anzahl))%>%
  hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "{point.y} Personen") %>% #Änderung der Tooltips-Layouts und des Inhalts
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Recherchestatistik: Treffer

Die häufigsten Suchbegriffe mit Treffern von Nutzern der Online-Oberfläche

TOP-12

TOP-12-Ansicht

#Liste der Stoppwörter aus dem Package "stopwords" erstellen und mit Stoppzusatz verknüpfen
stopp_t <- tibble(word = stopwords("de")) %>% rbind(stoppzusatz_treffer)

treffer <- begriffe_rdb %>% 
  #Selektieren und Reihenfolge der benötigten Variablen
  select(Begriff, Treffer, Zeitpunkt) %>%
  #Treffer filtern (ohne Nieten) und auf Geschäftsjahr beschränken
  filter((Treffer == 1 & year(Zeitpunkt) == 2018))%>%
  #Begriffe trennen und verschiedene Bereinigungen mittels unnest_tokens()
  unnest_tokens(word, Begriff) %>% 
  #Zahlen, Punktationen und 1er/2er-Buchstaben löschen
  mutate(word = gsub(x = word, pattern = "[0-9]+|[[:punct:]]| *\\b[[:alpha:]]{1,2}\\b *", replacement = "")) %>%
  #Fälle mit gelöschten Zahlen und Punktationen entfernen
  filter((word != ""))%>%
  #Stoppwörter entfernen
  anti_join(stopp_t) %>%
  #Wörter zählen und sortieren
  count(word, sort = TRUE) %>% 
  mutate(word = reorder(word, n))

treffer %>% 
  #Minimum für Darstellung definieren - steuert auch die Anzahl der Begriffe (TOP-12)
  filter(n > 500) %>%
  hchart(type = "bar", hcaes(x = word, y = n))%>%
  hc_xAxis(title = list(text = "Suchbegriffe (Treffer)")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Abfragen")) %>%
  hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Treemap

Ansicht als Kacheldiagramm

treffer %>%
  #Minimum für Darstellung definieren - steuert auch die Anzahl der Begriffe (für gut lesbare Treemap)
  filter(n > 200) %>%
  hchart(type = "treemap", hcaes(x = word, value = n, color = n))

Recherchestatistik: Nieten

Die häufigsten Suchbegriffe ohne Treffer von Nutzern der Online-Oberfläche

TOP-12

TOP-12-Ansicht

stopp_n <- tibble(word = stopwords("de")) %>% rbind(stoppzusatz_nieten)

nieten <- begriffe_rdb %>% 
  as.tibble() %>%
  select(Begriff, Treffer, Zeitpunkt) %>%
  #Treffer filtern (nur Nieten) und auf Geschäftsjahr beschränken
  filter((Treffer == 0 & year(Zeitpunkt) == 2018)) %>%
  unnest_tokens(word, Begriff) %>% 
  anti_join(stopp_n) %>%
  mutate(word = gsub(x = word, pattern = "[0-9]+|[[:punct:]]| *\\b[[:alpha:]]{1,2}\\b *", replacement = "")) %>%
  filter((word != ""))%>%
  count(word, sort = TRUE)  %>%
  mutate(word = reorder(word, n))

nieten %>% 
  #Minimum für Darstellung definieren - steuert auch die Anzahl der TOP
  filter(n > 68) %>%
  hchart(type = "bar", hcaes(x = word, y = n))%>%
  hc_xAxis(title = list(text = "Suchbegriffe (Nieten)")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Abfragen")) %>%
  hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Treemap

Ansicht als Kacheldiagramm

nieten %>%
  #Minimum für Darstellung definieren - steuert auch die Anzahl der Begriffe (für gut lesbare Treemap)
  filter(n > 40) %>%
  hchart(type = "treemap", hcaes(x = word, value = n, color = n))


Kommunale Bildungsdatenbank

Tabellenabrufe nach Ländern

Anzahl der Tabellenabrufe pro Monat nach Ländern und Abrufart

Diagramm

Diagrammansicht

aggregate_tab <- tab_bdb %>% 
  filter(abrufart != "Client" & laender != "99") %>% 
  #Abrufart umsortieren, damit die höchsten Zahlen links im Diagramm stehen
  mutate(abrufart = fct_relevel(abrufart, c("Online", "Webservice", "Batch"))) %>%
  arrange(abrufart) %>% 
  #Gruppieren zur Summierung der einzelnen Ausprägungskombinationen
  group_by(monat, laender_TXT, abrufart) %>%
  #Summierung der einzelnen Ausprägungskombinationen
  summarise(anzahl = sum(abrufe)) %>% 
  #Gruppierung des Tibbles aufheben
  ungroup()

farben <- colorRampPalette(brewer.pal(12, "Paired"))(16)#Farbpalette muss für 16 Länder erweitert werden

aggregate_tab %>% 
    ggplot(aes(monat, anzahl, fill = laender_TXT)) +
      geom_bar(stat="identity", width = 0.5) + 
      facet_grid(cols = vars(abrufart)) +
      theme(legend.position="bottom", 
            legend.title = element_blank(), 
            plot.background = element_rect(fill="#FFFFFF"), 
            legend.background = element_rect(fill="#FFFFFF")) +
      guides(fill=guide_legend(ncol=4)) +
      labs(x = "Monat", y = "Anzahl der Datenabrufe") + 
      scale_fill_manual(values = farben)

Tabelle

Tabellenansicht

aggregate_tab %>% 
  datatable(filter = "top",
            rownames = FALSE, 
            extensions = "Buttons",
            options = list(pageLength = 12, 
                           dom = "Bftip",
                           initComplete = JS(
                            "function(settings, json) {",
                            "$(this.api().table().header()).css({'background-color': '#446e9b', 'color':       '#fff'});",
                            "}"),
                           buttons = list("copy", "print", 
                                          list(extend = "collection",
                                               buttons = c("csv", "excel"),
                                               text = "Download"))))  %>%
  formatRound("anzahl", digits = 0, interval = 3, mark = ".")

Tabellenabrufe nach Indikatoren

Anzahl der Tabellenabrufe pro Monat nach Indikatorenbereichen und Abrufart

Diagramm

Diagrammansicht

aggregate_tab <- tab_bdb %>% 
  filter(abrufart != "Client" & laender != "99") %>% 
  #Abrufart umsortieren, damit die höchsten Zahlen links im Diagramm stehen
  mutate(abrufart = fct_relevel(abrufart, c("Online", "Webservice", "Batch"))) %>%
  arrange(abrufart) %>% 
  mutate(indikator_TXT = fct_relevel(indikator_TXT, c("Rahmenbedingungen", "Frühkindliche Bildung", "Allgemeinbildende Schulen", "Berufliche Bildung","Hochschulen"))) %>%
  arrange(indikator_TXT) %>% 
  #Gruppieren zur Summierung der einzelnen Ausprägungskombinationen
  group_by(monat, indikator_TXT, abrufart) %>%
  #Summierung der einzelnen Ausprägungskombinationen
  summarise(anzahl = sum(abrufe)) %>% 
  #Gruppierung des Tibbles aufheben
  ungroup()

aggregate_tab %>% 
    ggplot(aes(monat, anzahl, fill = indikator_TXT)) +
      geom_bar(stat="identity", width = 0.5) + 
      facet_grid(cols = vars(abrufart)) +
      theme(legend.position="bottom", 
            legend.title = element_blank(), 
            plot.background = element_rect(fill="#FFFFFF"), 
            legend.background = element_rect(fill="#FFFFFF")) +
      guides(fill=guide_legend(ncol=5)) +
      labs(x = "Monat", y = "Anzahl der Datenabrufe") + 
      scale_fill_brewer(palette = "Paired")

Tabelle

Tabellenansicht

aggregate_tab %>% 
  datatable(filter = "top",
            rownames = FALSE, 
            extensions = "Buttons",
            options = list(pageLength = 12, 
                           dom = "Bftip",
                           initComplete = JS(
                            "function(settings, json) {",
                            "$(this.api().table().header()).css({'background-color': '#446e9b', 'color':       '#fff'});",
                            "}"),
                           buttons = list("copy", "print", 
                                          list(extend = "collection",
                                               buttons = c("csv", "excel"),
                                               text = "Download"))))  %>%
  formatRound("anzahl", digits = 0, interval = 3, mark = ".")

TOP-12-Tabellen

Die am häufigsten abgerufenen Tabellen unabhängig von der Zugangsart. Aufgrund der speziellen Fachstruktur der Bildungsdatenbank sind keine individuellen, sondern nur nach Kapitel und Land aggregierte Tabellen auswertbar.

tab_bdb %>% 
  #Ohne Abrufart "Client" und EVAS "A" (themenübergreifende Tabellen des Regionalatlas)
  filter(abrufart != "Client" & laender != "99") %>% 
  select(tabname, abrufe) %>% 
  mutate(tabname_kurz = str_sub(tabname, 1, 5)) %>% #Tabellencode thematisch kürzen
  group_by(tabname_kurz) %>%
  summarise(Anzahl = sum(abrufe)) %>% 
  arrange(desc(Anzahl)) %>% 
  top_n(12) %>% 
  hchart(type = "bar", hcaes(x = tabname_kurz, y = Anzahl))%>%
  hc_xAxis(title = list(text = "Tabellencode")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Abrufe")) %>%
  hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Bottom-12-Tabellen

Die am seltensten abgerufenen Tabellen unabhängig von der Zugangsart. Aufgrund der speziellen Fachstruktur der Bildungsdatenbank sind keine individuellen, sondern nur nach Kapitel und Land aggregierte Tabellen auswertbar.

tab_bdb %>% 
  #Ohne Abrufart "Client" und EVAS "A" (themenübergreifende Tabellen des Regionalatlas)
  filter(abrufart != "Client" & laender != "99") %>% #TMP-Tabellen rausfiltern
  select(tabname, abrufe) %>% 
  mutate(tabname_kurz = str_sub(tabname, 1, 5)) %>% #Tabellencode thematisch kürzen
  group_by(tabname_kurz) %>%
  summarise(Anzahl = sum(abrufe)) %>% 
  arrange(Anzahl) %>% 
  top_n(-12) %>% #mit - werden die letzten 12 gewählt
  hchart(type = "bar", hcaes(x = tabname_kurz, y = Anzahl))%>%
  hc_xAxis(title = list(text = "Tabellencode")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Abrufe")) %>%
  hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Nutzer nach Werteabrufen

Anzahl der Online-Nutzer, die entweder einen Werteabruf vorgenommen haben, oder die nur anderweitig recherchiert haben.

ben_bdb %>% 
  mutate(zeitstempel = datetime_to_timestamp(lubridate::ymd(datum))) %>% #Zeit-Format nötig für highcharts 
  select(kundentyp, abrufart, werteabruf, zeitstempel, abrufe) %>% 
  filter(kundentyp == "Gast" & abrufart == "Online") %>% 
  group_by(werteabruf, zeitstempel) %>% 
  summarise(anzahl = sum(abrufe)) %>% 
  
  hchart(type = "line", hcaes(x = zeitstempel, y = anzahl, group = werteabruf))%>%
  hc_xAxis(type = "datetime", dateTimeLabelFormats = list(zeitstempel = '%d %b'), 
           title = list(text = "Tage im Jahr <br> <b>mit Werteabruf:</b>")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Besuche")) %>%
  hc_tooltip(crosshairs = TRUE, borderColor = "#446e9b", shared = TRUE, borderWidth = 2, borderRadius = 20, hideDelay = 1000, sort = TRUE) %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Nutzer nach Nutzungsart

Anzahl der Nutzer pro Monat nach Nutzerart und Abrufart

Diagramm

Diagrammansicht

aggregate_tab <- ben_bdb %>% 
  select(monat, kundentyp, abrufart, abrufe) %>%
  filter((kundentyp == "Gast" | kundentyp == "Registriert" | kundentyp == "Interner") & (abrufart == "Online" | abrufart == "Webservice" | abrufart == "Batch")) %>% 
  mutate(abrufart = fct_relevel(abrufart, c("Online", "Webservice", "Batch"))) %>%
  mutate(kundentyp = fct_relevel(kundentyp, c("Gast", "Registriert", "Interner"))) %>%
  arrange(abrufart, kundentyp) %>%  
  #Gruppieren zur Summierung der einzelnen Ausprägungskombinationen (Tagesdimension entfernen)
  group_by(monat, kundentyp, abrufart) %>%
  #Summierung der einzelnen Ausprägungskombinationen
  summarise(anzahl = sum(abrufe)) %>% 
  #Gruppierung des Tibbles aufheben
  ungroup()

aggregate_tab %>% 
    ggplot(aes(monat, anzahl, fill = kundentyp)) +
      geom_bar(stat="identity", width = 0.5) + 
      facet_grid(. ~ abrufart) +
      theme(legend.position="bottom", legend.title = element_blank()) +
      labs(x = "Monat", y = "Anzahl der Nutzer") + 
      #Farbwerte aus Colorbrewer Stil "Paired", analog zu oben
      scale_fill_brewer(palette = "Paired")

Tabelle

Tabellenansicht

aggregate_tab %>% 
  datatable(filter = "top",
            rownames = FALSE, 
            extensions = "Buttons",
            options = list(pageLength = 12, 
                           dom = "Bftip",
                           initComplete = JS(
                            "function(settings, json) {",
                            "$(this.api().table().header()).css({'background-color': '#446e9b', 'color':       '#fff'});",
                            "}"),
                           buttons = list("copy", "print", 
                                          list(extend = "collection",
                                               buttons = c("csv", "excel"),
                                               text = "Download"))))  %>%
  formatRound("anzahl", digits = 0, interval = 3, mark = ".")

Nutzer nach Kategorie

Registrierte Nutzer können sich im Zuge der Registrierung einer Nutzerkategorie zuordnen. Dementsprechend gehen Gastnutzer nicht in die Anzahl ein.

nutzer_bdb %>% 
  arrange(Anzahl) %>% 
  hchart(type = "pie", hcaes(x = Nutzerkategorie, y = Anzahl))%>%
  hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "{point.y} Personen") %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Recherchestatistik: Treffer

Die häufigsten Suchbegriffe mit Treffern von Nutzern der Online-Oberfläche

TOP-12

TOP-12-Ansicht

treffer <- begriffe_bdb %>% 
  #Selektieren und Reihenfolge der benötigten Variablen
  select(Begriff, Treffer, Zeitpunkt) %>%
  #Treffer filtern (ohne Nieten) und auf Geschäftsjahr beschränken
  filter((Treffer == 1 & year(Zeitpunkt) == 2018)) %>%
  #Begriffe trennen und verschiedene Bereinigungen mittels unnest_tokens()
  unnest_tokens(word, Begriff) %>% 
  #Zahlen, Punktationen und 1er/2er-Buchstaben löschen
  mutate(word = gsub(x = word, pattern = "[0-9]+|[[:punct:]]| *\\b[[:alpha:]]{1,2}\\b *", replacement = "")) %>%
  #Fälle mit gelöschten Zahlen und Punktationen entfernen
  filter((word != ""))%>%
  #Stoppwörter entfernen
  anti_join(stopp_t) %>%
  #Wörter zählen und sortieren
  count(word, sort = TRUE) %>% 
  mutate(word = reorder(word, n))

treffer %>% 
  #Minimum für Darstellung definieren - steuert auch die Anzahl der Begriffe (TOP-12)
  filter(n > 70) %>%
  hchart(type = "bar", hcaes(x = word, y = n))%>%
  hc_xAxis(title = list(text = "Suchbegriffe (Treffer)")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Abfragen")) %>%
  hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Treemap

Ansicht als Kacheldiagramm

treffer %>%
  #Minimum für Darstellung definieren - steuert auch die Anzahl der Begriffe (für gut lesbare Treemap)
  filter(n > 20) %>%
  hchart(type = "treemap", hcaes(x = word, value = n, color = n))

Recherchestatistik: Nieten

Die häufigsten Suchbegriffe ohne Treffer von Nutzern der Online-Oberfläche

TOP-12

TOP-12-Ansicht

nieten <- begriffe_bdb %>% 
  as.tibble() %>%
  select(Begriff, Treffer, Zeitpunkt) %>%
  #Treffer filtern (nur Nieten) und auf Geschäftsjahr beschränken
  filter((Treffer == 0 & year(Zeitpunkt) == 2018)) %>%
  unnest_tokens(word, Begriff) %>% 
  mutate(word = gsub(x = word, pattern = "[0-9]+|[[:punct:]]| *\\b[[:alpha:]]{1,2}\\b *", replacement = "")) %>%
  filter((word != ""))%>%
  anti_join(stopp_n) %>%
  count(word, sort = TRUE)  %>%
  mutate(word = reorder(word, n))

nieten %>% 
  #Minimum für Darstellung definieren - steuert auch die Anzahl der TOP
  filter(n > 9) %>%
  hchart(type = "bar", hcaes(x = word, y = n))%>%
  hc_xAxis(title = list(text = "Suchbegriffe (Nieten)")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Abfragen")) %>%
  hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Treemap

Ansicht als Kacheldiagramm

nieten %>%
  #Minimum für Darstellung definieren - steuert auch die Anzahl der Begriffe (für gut lesbare Treemap)
  filter(n > 5) %>%
  hchart(type = "treemap", hcaes(x = word, value = n, color = n))


Landesdatenbank NRW

Tabellenabrufe insgesamt

Anzahl der Tabellenabrufe pro Monat nach EVAS-1-Steller und Abrufart

Diagramm

Diagrammansicht

aggregate_tab <- tab_ldb %>% 
  #Ohne Abrufart "Client" und EVAS "A" (themenübergreidende Tabellen des Regionalatlas)
  filter(abrufart != "Client") %>% 
  #Abrufart umsortieren, damit die höchsten Zahlen links im Diagramm stehen
  mutate(abrufart = fct_relevel(abrufart, c("Online", "Webservice", "Batch"))) %>%
  arrange(abrufart) %>% 
  #Gruppieren zur Summierung der einzelnen Ausprägungskombinationen
  group_by(monat, EVAS1, EVAS1_TXT, abrufart) %>%
  #Summierung der einzelnen Ausprägungskombinationen
  summarise(anzahl = sum(abrufe)) %>% 
  #Gruppierung des Tibbles aufheben
  ungroup()

aggregate_tab %>% 
    ggplot(aes(monat, anzahl, fill = EVAS1_TXT)) +
      geom_bar(stat="identity", width = 0.5) + 
      facet_grid(cols = vars(abrufart)) +
      theme(legend.position="bottom", 
            legend.title = element_blank(), 
            plot.background = element_rect(fill="#FFFFFF"), 
            legend.background = element_rect(fill="#FFFFFF")) +
      guides(fill=guide_legend(ncol=3)) +
      labs(x = "Monat", y = "Anzahl der Datenabrufe") + 
      scale_fill_brewer(palette = "Paired")

Tabelle

Tabellenansicht

aggregate_tab %>% 
  datatable(filter = "top",
            rownames = FALSE, 
            extensions = "Buttons",
            options = list(pageLength = 12, 
                           dom = "Bftip",
                           initComplete = JS(
                            "function(settings, json) {",
                            "$(this.api().table().header()).css({'background-color': '#446e9b', 'color':       '#fff'});",
                            "}"),
                           buttons = list("copy", "print", 
                                          list(extend = "collection",
                                               buttons = c("csv", "excel"),
                                               text = "Download"))))  %>%
  formatRound("anzahl", digits = 0, interval = 3, mark = ".")

TOP-12-Tabellen

Die am häufigsten abgerufenen Tabellen unabhängig von der Zugangsart.

tab_ldb %>% 
  filter(abrufart != "Client" & EVAS1 != "9" & !str_detect(tabname, "XXX")) %>% #XXX-Tabellen rausfiltern
  select(tabname, abrufe) %>% 
  mutate(tabname_kurz = str_sub(tabname, 1, 11)) %>% 
  group_by(tabname_kurz) %>%
  summarise(Anzahl = sum(abrufe)) %>% 
  arrange(desc(Anzahl)) %>% 
  top_n(12) %>% 
  hchart(type = "bar", hcaes(x = tabname_kurz, y = Anzahl))%>%
  hc_xAxis(title = list(text = "Tabellencode")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Abrufe")) %>%
  hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Bottom-12-Tabellen

Die am seltensten abgerufenen Tabellen unabhängig von der Zugangsart.

Nutzer nach Werteabrufen

Anzahl der Online-Nutzer, die entweder einen Werteabruf vorgenommen haben, oder die nur anderweitig recherchiert haben.

ben_ldb %>% 
  mutate(zeitstempel = datetime_to_timestamp(lubridate::ymd(datum))) %>% #Zeit-Format nötig für highcharts 
  select(kundentyp, abrufart, werteabruf, zeitstempel, abrufe) %>% 
  filter(kundentyp == "Gast" & abrufart == "Online") %>% 
  group_by(werteabruf, zeitstempel) %>% 
  summarise(anzahl = sum(abrufe)) %>% 
  
  hchart(type = "line", hcaes(x = zeitstempel, y = anzahl, group = werteabruf))%>%
  hc_xAxis(type = "datetime", dateTimeLabelFormats = list(zeitstempel = '%d %b'), 
           title = list(text = "Tage im Jahr <br> <b>mit Werteabruf:</b>")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Besuche")) %>%
  hc_tooltip(crosshairs = TRUE, borderColor = "#446e9b", shared = TRUE, borderWidth = 2, borderRadius = 20, hideDelay = 1000, sort = TRUE) %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Nutzer nach Nutzungsart

Anzahl der Nutzer pro Monat nach Nutzerart und Abrufart

Diagramm

Diagrammansicht

aggregate_tab <- ben_ldb %>% 
  select(monat, kundentyp, abrufart, abrufe) %>%
  filter((kundentyp == "Gast" | kundentyp == "Registriert" | kundentyp == "Interner") & (abrufart == "Online" | abrufart == "Webservice" | abrufart == "Batch")) %>% 
  #Abrufart umsortieren, damit die höchsten Zahlen links im Diagramm stehen
  mutate(abrufart = fct_relevel(abrufart, c("Online", "Webservice", "Batch"))) %>%
  mutate(kundentyp = fct_relevel(kundentyp, c("Gast", "Registriert", "Interner"))) %>%
  arrange(abrufart, kundentyp) %>%   
  #Gruppieren zur Summierung der einzelnen Ausprägungskombinationen (Tagesdimension entfernen)
  group_by(monat, kundentyp, abrufart) %>%
  #Summierung der einzelnen Ausprägungskombinationen
  summarise(anzahl = sum(abrufe)) %>% 
  #Gruppierung des Tibbles aufheben
  ungroup()

aggregate_tab %>% 
    ggplot(aes(monat, anzahl, fill = kundentyp)) +
      geom_bar(stat="identity", width = 0.5) + 
      facet_grid(. ~ abrufart) +
      theme(legend.position="bottom", legend.title = element_blank()) +
      labs(x = "Monat", y = "Anzahl der Nutzer") + 
      #Farbwerte aus Colorbrewer Stil "Paired", analog zu oben
      scale_fill_brewer(palette = "Paired")

Tabelle

Tabellenansicht

aggregate_tab %>% 
  datatable(filter = "top",
            rownames = FALSE, 
            extensions = "Buttons",
            options = list(pageLength = 12, 
                           dom = "Bftip",
                           initComplete = JS(
                            "function(settings, json) {",
                            "$(this.api().table().header()).css({'background-color': '#446e9b', 'color':       '#fff'});",
                            "}"),
                           buttons = list("copy", "print", 
                                          list(extend = "collection",
                                               buttons = c("csv", "excel"),
                                               text = "Download"))))  %>%
  formatRound("anzahl", digits = 0, interval = 3, mark = ".")

Nutzer nach Kategorie

Registrierte Nutzer können sich im Zuge der Registrierung einer Nutzerkategorie zuordnen. Dementsprechend gehen Gastnutzer nicht in die Anzahl ein.

nutzer_ldb %>% 
  arrange(Anzahl) %>% 
  hchart(type = "pie", hcaes(x = Nutzerkategorie, y = Anzahl))%>%
  hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "{point.y} Personen") %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Recherchestatistik: Treffer

Die häufigsten Suchbegriffe mit Treffern von Nutzern der Online-Oberfläche

TOP-12

TOP-12-Ansicht

treffer <- begriffe_ldb %>% 
  #Selektieren und Reihenfolge der benötigten Variablen
  select(Begriff, Treffer, Zeitpunkt) %>%
  #Treffer filtern (ohne Nieten) und auf Geschäftsjahr beschränken
  filter((Treffer == 1 & year(Zeitpunkt) == 2018))%>%
  #Begriffe trennen und verschiedene Bereinigungen mittels unnest_tokens()
  unnest_tokens(word, Begriff) %>% 
  #Zahlen, Punktationen und 1er/2er-Buchstaben löschen
  mutate(word = gsub(x = word, pattern = "[0-9]+|[[:punct:]]| *\\b[[:alpha:]]{1,2}\\b *", replacement = "")) %>%
  #Fälle mit gelöschten Zahlen und Punktationen entfernen
  filter((word != ""))%>%
  #Stoppwörter entfernen
  anti_join(stopp_t) %>%
  #Wörter zählen und sortieren
  count(word, sort = TRUE) %>% 
  mutate(word = reorder(word, n))

treffer %>% 
  #Minimum für Darstellung definieren - steuert auch die Anzahl der Begriffe (TOP-12)
  filter(n > 285) %>%
  hchart(type = "bar", hcaes(x = word, y = n))%>%
  hc_xAxis(title = list(text = "Suchbegriffe (Treffer)")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Abfragen")) %>%
  hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Treemap

Ansicht als Kacheldiagramm

treffer %>%
  #Minimum für Darstellung definieren - steuert auch die Anzahl der Begriffe (für gut lesbare Treemap)
  filter(n > 90) %>%
  hchart(type = "treemap", hcaes(x = word, value = n, color = n))

Recherchestatistik: Nieten

Die häufigsten Suchbegriffe ohne Treffer von Nutzern der Online-Oberfläche

TOP-12

TOP-12-Ansicht

nieten <- begriffe_ldb %>% 
  as.tibble() %>%
  select(Begriff, Treffer, Zeitpunkt) %>%
  #Treffer filtern (nur Nieten) und auf Geschäftsjahr beschränken
  filter((Treffer == 0 & year(Zeitpunkt) == 2018)) %>%
  unnest_tokens(word, Begriff) %>% 
  mutate(word = gsub(x = word, pattern = "[0-9]+|[[:punct:]]| *\\b[[:alpha:]]{1,2}\\b *", replacement = "")) %>%
  filter((word != ""))%>%
  anti_join(stopp_n) %>%
  count(word, sort = TRUE)  %>%
  mutate(word = reorder(word, n))

nieten %>% 
  #Minimum für Darstellung definieren - steuert auch die Anzahl der TOP
  filter(n > 65) %>%
  hchart(type = "bar", hcaes(x = word, y = n))%>%
  hc_xAxis(title = list(text = "Suchbegriffe (Nieten)")) %>% 
  hc_yAxis(title = list(text = "Anzahl der Abfragen")) %>%
  hc_tooltip(borderColor = "#446e9b", borderWidth = 2, borderRadius = 20, hideDelay = 1000, pointFormat = "Anzahl: {point.y}") %>%
  hc_exporting(enabled = TRUE,
               buttons = list(contextButton = list(text = "Export", symbolStroke = "#446e9b",
                                                   menuItems = items)),
               menuItemDefinitions = itemDef)

Treemap

Ansicht als Kacheldiagramm

nieten %>%
  #Minimum für Darstellung definieren - steuert auch die Anzahl der Begriffe (für gut lesbare Treemap)
  filter(n > 25) %>%
  hchart(type = "treemap", hcaes(x = word, value = n, color = n))


Anlage: Nutzungshinweis

  • Die genutzten Testdaten dienen nur zur Darstellung der Methoden und stellen keine Informationen dar.

Anlage: Technische Hinweise

sessionInfo()
## R version 4.3.3 (2024-02-29)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Manjaro Linux
## 
## Matrix products: default
## BLAS:   /usr/lib/libblas.so.3.12.0 
## LAPACK: /usr/lib/liblapack.so.3.12.0
## 
## locale:
##  [1] LC_CTYPE=de_DE.UTF-8       LC_NUMERIC=C               LC_TIME=de_DE.UTF-8        LC_COLLATE=de_DE.UTF-8     LC_MONETARY=de_DE.UTF-8   
##  [6] LC_MESSAGES=de_DE.UTF-8    LC_PAPER=de_DE.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C       
## 
## time zone: Europe/Berlin
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] highcharter_0.9.4  kableExtra_1.4.0   DT_0.32            stopwords_2.3      tidytext_0.4.1     RColorBrewer_1.1-3 ggthemes_5.1.0    
##  [8] lubridate_1.9.3    forcats_1.0.0      stringr_1.5.1      dplyr_1.1.4        purrr_1.0.2        readr_2.1.5        tidyr_1.3.1       
## [15] tibble_3.2.1       ggplot2_3.5.0      tidyverse_2.0.0   
## 
## loaded via a namespace (and not attached):
##  [1] tidyselect_1.2.1  viridisLite_0.4.2 farver_2.1.1      fastmap_1.1.1     janeaustenr_1.0.0 digest_0.6.35     timechange_0.3.0  lifecycle_1.0.4  
##  [9] tokenizers_0.3.0  magrittr_2.0.3    compiler_4.3.3    rlang_1.1.3       sass_0.4.9        tools_4.3.3       igraph_2.0.3      utf8_1.2.4       
## [17] yaml_2.3.8        data.table_1.15.4 knitr_1.45        labeling_0.4.3    htmlwidgets_1.6.4 bit_4.0.5         curl_5.2.1        xml2_1.3.6       
## [25] TTR_0.24.4        withr_3.0.0       grid_4.3.3        fansi_1.0.6       xts_0.13.2        colorspace_2.1-0  scales_1.3.0      cli_3.6.2        
## [33] rmarkdown_2.26    crayon_1.5.2      generics_0.1.3    rlist_0.4.6.2     rstudioapi_0.16.0 tzdb_0.4.0        cachem_1.0.8      assertthat_0.2.1 
## [41] parallel_4.3.3    vctrs_0.6.5       Matrix_1.6-5      jsonlite_1.8.8    hms_1.1.3         bit64_4.0.5       crosstalk_1.2.1   systemfonts_1.0.6
## [49] fontawesome_0.5.2 jquerylib_0.1.4   quantmod_0.4.26   glue_1.7.0        stringi_1.8.3     gtable_0.3.4      munsell_0.5.0     pillar_1.9.0     
## [57] htmltools_0.5.8   R6_2.5.1          vroom_1.6.5       evaluate_0.23     lattice_0.22-5    highr_0.10        backports_1.4.1   SnowballC_0.7.1  
## [65] broom_1.0.5       bslib_0.7.0       Rcpp_1.0.12       svglite_2.1.3     xfun_0.43         zoo_1.8-12        pkgconfig_2.0.3

Dieses Werk ist lizenziert unter einer Creative Commons Attribution-ShareAlike 4.0 International License.